package cn.tedu.net.collection.file;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

//本类用于测试文件流
public class Test2_file {
    public static void main(String[] args) throws IOException {
        //手动在d盘中创建ready 1.txt
        //创建file对象
        //参数是具体的路径,可以是文件的路径也可以是文件夹的路径
        //  \在代码中具有特殊的意义,转义的作用
        File file=new File("D:\\ready\\1.txt");//创建的是java对象

        //测试常用方法
        //文件与文件夹属性
        System.out.println(file.length());//获取指定文件的字节量
        System.out.println(file.exists());//true  判断指定文件是否存在
        System.out.println(file.isFile());//true  判断指定内容是否是文件
        System.out.println(file.isDirectory());//false 判断指定内容是否是文件夹
        System.out.println(file.getName());// 1.txt,获取文件名
        System.out.println(file.getParent());// D:ready,获取父级目录
        System.out.println(file.getAbsolutePath());//D:\ready\1.txt,获取绝对路径
        //创建与删除
        file=new File("D:\\\\ready\\\\2.txt");
        //如果指定创建文件得文件夹不存在就会抛出异常:java.io.IOException:系统找不到指定得路径
        //所以需要处理,目前的方式是抛出异常
        System.out.println(file.createNewFile());//在win中创建不存在的文件
        file=new File("D:\\ready\\m");
        System.out.println(file.mkdir());//在win中创建不存在的单级目录
        file=new File("D:\\ready\\a\\b\\c");
        System.out.println(file.mkdirs());//在win中创建不存在的多级目录

        System.out.println(file.delete());//删除文件或者是空的文件夹
        file=new File("D:\\\\ready\\a");
        System.out.println(file.delete());//由于a目录里还有b目录,所以删除不了
        //file=new File("D:\\\\ready\\1.txt");
       // System.out.println(file.delete());//删除文件
        //文件列表
        file = new File("D:\\ready");
        String[] list=file.list();
        System.out.println(Arrays.toString(list));
        //列出文件夹中所有的文件夹和文件对象,返回值是File[]每个元素都是File类型可以进一步操作
        File[] listFiles=file.listFiles();
        System.out.println(listFiles[0].length());
        }
}
